package com.sundablog.service.systemsetup.permissionsManage.permissions;

import java.util.List;
import java.util.Map;

import com.sundablog.pojo.AdminPermission;
import com.sundablog.result.LayUiResult;
import com.sundablog.result.ZTreeResult;

/**
 * 权限接口定义类
 * @ClassName:  PermissionsService   
 * @Description:权限接口定义类   
 * @author: 哒哒 
 * @date:   2018年1月31日 下午2:06:55   
 *     
 * @Copyright: 2018 www.sundablog.com Inc. All rights reserved.
 */
public interface PermissionsService {
	
	/**
	 * 添加一条权限
	 * @Title: addPermissions   
	 * @Description: 添加一条权限   
	 * @param: @param adminPermission
	 * @param: @return      
	 * @return: int      
	 * @throws
	 */
	int addPermissions(AdminPermission adminPermission);
	
	/**
	 * 禁用一条权限
	 * @Title: updataProhibitPermissions   
	 * @Description: TODO(这里用一句话描述这个方法的作用)   
	 * @param: @param permissionId
	 * @param: @return      
	 * @return: int      
	 * @throws
	 */
	int updataDisablePermissions(int permissionId);
	
	/**
	 * 查询全部权限返回ZTree
	 * @Title: selectPermissions   
	 * @Description: 查询全部权限返回ZTree   
	 * @param: @return      
	 * @return: List<ZTreeResult>      
	 * @throws
	 */
	List<ZTreeResult> selectPermissions();
	
	/**
	 * 分页查询
	 * @Title: findPagingQuery   
	 * @Description: TODO(这里用一句话描述这个方法的作用)   
	 * @param: @param page
	 * @param: @param limit
	 * @param: @param pid
	 * @param: @return      
	 * @return: LayUiResult      
	 * @throws
	 */
	LayUiResult findPagingQuery(int page,int limit,int pid);
	
	
	/**
	 * 工具permissionId 查询一条数据
	 * @Title: selectPermissionsById   
	 * @Description: 工具permissionId 查询一条数据  
	 * @param: @param permissionId
	 * @param: @return      
	 * @return: AdminPermission      
	 * @throws
	 */
	AdminPermission selectPermissionsById(int permissionId);
	
	/**
	 * 修改一条数据
	 * @Title: updataPermissions   
	 * @Description: 修改一条数据
	 * @param: @param adminPermission
	 * @param: @return      
	 * @return: int      
	 * @throws
	 */
	int updataPermissions(AdminPermission adminPermission);
	
	/**
	 * 根据ID修改状态
	 * @Title: updataPermissionsByStatus   
	 * @Description: 根据ID修改状态   
	 * @param: @param id
	 * @param: @return      
	 * @return: int      
	 * @throws
	 */
	int updataPermissionsByStatus(int id);
	
	/**
	 * 根据角色id查询对应的权限
	 * @Title: selectByRoleId   
	 * @Description: TODO(这里用一句话描述这个方法的作用)   
	 * @param: @param roleId
	 * @param: @return      
	 * @return: List<String>      
	 * @throws
	 */
	List<String> selectByRoleId(int roleId);
	
}
